﻿/*
 * 需要引用jquery-ui.js
 */
function dialog_comm(showbutton,eid, title, cancelcall, executecall, isexecclose, width) {
    ///<summary>jquery-ui中的dialog的简化调用</summary>
    //isexecclose执行完成后关闭
    //isshowbutton是否显示下方的按钮

    var btn = [];
    if (!width) {
        width = 300;
    }
    if (showbutton) {
        btn = [
            {
                text: "取消",
                "class": "btn btn-minier",
                click: function () {
                    if (cancelcall) {
                        cancelcall();
                        if (isexecclose) {
                            $(this).dialog("close");
                        }
                    } else {
                        $(this).dialog("close");
                    }
                }
            },
            {
                text: "保存",
                "class": "btn btn-primary btn-minier",
                click: function () {
                    if (executecall) {
                        executecall();
                        if (isexecclose) {
                            $(this).dialog("close");
                        }
                    } else {
                        $(this).dialog("close");
                    }
                }
            }
        ]
    }
    if ($("#" + eid).length == 1) {
        var dialog = $("#" + eid).removeClass('hide').dialog({
            modal: true,
            title: title,
            title_html: true,
            width: width,
            buttons: btn
        });
        return dialog;
    }

}

// @ method: convertStrToFunc() 转换字符串方法到FUNCTION 方法
// @ depict: 将字符串方法全称(包含括号) 转换成真实的方法对象 [此方法将替换括号及括号内的所有字符]
// @ params: [string] strEvent  字符串方法名称  例如："initPageData()"
// @ return: [function] 返回方法对象
// @ pbtype: 通用方法
function convertStrToFunc(strEvent) {
    var ret_Function = null;
    if (strEvent) {
        try {
            // 替换掉结尾的分号; 再次替换掉括号及括号内的所有内容
            var _strEvent = strEvent.replace(";", "").replace(/\([^\)]*\)/g, "");  // 替换无效字符
            _strEvent = $.trim(_strEvent);                        // 去除空格字符
            ret_Function = (new Function("return " + _strEvent))();  // 创建方法对象
        } catch (error) {
            ret_Function = null;
        };
    };
    return ret_Function;
}